package com.gr.experimental.model.impl.distr.operators;

public abstract class AbstractBinaryOperator implements BinaryOperator {

	Class<?> argument1Type;
	
	Class<?> argument2Type;
	
	/**
	 * @param returnType
	 * @param argument1Type
	 * @param argument2Type
	 */
	public AbstractBinaryOperator(Class<?> argument1Type,
			Class<?> argument2Type) {
		this.argument1Type = argument1Type;
		this.argument2Type = argument2Type;
	}
	
	public AbstractBinaryOperator(Class<?> argumentType) {
		this.argument1Type = argumentType;
		this.argument2Type = argumentType;
	}
	

	/* (non-Javadoc)
	 * @see com.gr.experimental.model.impl.distr.actions.Operation#getArgument1Type()
	 */
	@Override
	public Class<?> getArgument1Type() {
		return argument1Type;
	}

	/* (non-Javadoc)
	 * @see com.gr.experimental.model.impl.distr.actions.Operation#getArgument2Type()
	 */
	@Override
	public Class<?> getArgument2Type() {
		return argument2Type;
	}
	
}
